package com.saydc.actions.busquedas;

import java.util.Date;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import com.saydc.dao.BusquedasDAO;
import com.saydc.model.Busqueda;
import com.saydc.model.EstadoBusqueda;

public class FinalizarBusquedaAction extends Action {
	
	@SuppressWarnings("unchecked")
	@Override
	public ActionForward execute(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) throws Exception {
		
		String tipo = request.getParameter("coleccion");
		List<Busqueda> pendientes = (List<Busqueda>)request.getSession().getAttribute("busqPendientes");
		List<Busqueda> totales = (List<Busqueda>)request.getSession().getAttribute("listaBusquedas");
		int indiceLista = Integer.parseInt(request.getParameter("index"));
		
		Busqueda buscada = null;
		if(tipo.equals("pendiente")){
			buscada = pendientes.get(indiceLista);
		}else if(tipo.equals("total")){
			buscada = totales.get(indiceLista);
		}
		buscada.setEstado(EstadoBusqueda.getEstadoBusqueda(EstadoBusqueda.FINALIZADA));
		buscada.setFechaFin(new Date());
		BusquedasDAO busqDao = BusquedasDAO.getInstance();
		busqDao.actualizarBusqueda(buscada);
		
		return mapping.findForward("success");
	}

}
